Storing, indexing, and retrieving data efficiently and effectively can be hard work. That is especially true when the amount of the data is massive, and fast access to the data is needed. Additional difficulties may arise when different, independent applications, or programs, need to access the same data for various reasons.
Certain computer applications do a good job at storing, indexing, and retrieving data efficiently and effectively. For example, the well-known Google Desktop (GD) can index, cache, and search content on a user's computer. The GD also has an application programming interface (API) that allows various independent applications to send content to the GD engine for indexing and storage. For example, traditional applications may include extensions that permit the sending of data to the GD. Likewise, smaller applications in the form of so-called gadgets, may appear as docked or floating objects on a video display and may provide a computer user with specific information. These applications may also send data to the GD engine or receive data back from it.
The applications may take various forms. For example, a program may permit easy searching and display of e-mails held by a system. Another application may obtain data over the internet and display that data—such as in a gadget that shows a local up-to-date weather forecast. Yet another application may permit easy access to personal finance data to the user of a computer.